// 值接收者和指针接收者的区别
package main

import "fmt"

type People interface {
	Speak(string) string
}

type Student struct{}
type Teacher struct{}

func (stu *Student) Speak(think string) (talk string) {
	if think == "sb" {
		talk = "你是个大帅比同学"
	} else {
		talk = "您好同学"
	}
	return
}

func (tea *Teacher) Speak(think string) (talk string) {
	if think == "sb" {
		talk = "你是个大帅比老师"
	} else {
		talk = "您好老师"
	}
	return
}
func main() {
	var stu People = &Student{}
	var tea People = &Teacher{}

	think := "bitch"
	fmt.Println(stu.Speak(think))
	fmt.Println(tea.Speak(think))
}
